1. Field of the Invention
The present invention relates to a print system including a host computer and a printer connected with the host computer and, in particular, to an improvement in a print speedup technology suitable for a print system using a page printer.
2. Description of Related Art
In a page printer, due to the structure of a print engine thereof, after printing has started, it is impossible to stop the feeding of print sheets or to return the print sheets in the reverse direction in the middle of the printing. Also, even when the page printer is not capable of having a bit map memory corresponding to one page, printing must be executed at a speed near the maximum performance of the print engine.
In order to realize the above-mentioned functions, in the prior art, a controller employed in the page printer includes a high-power CPU and a mass storage memory and, in this respect, the controller is more powerful that the host computer.
Also, the controller of the page printer does not translate one or more plotting commands from a host computer directly into one or more bit map images but allows an intermediate code to intervene in the middle of translation from the plotting commands to the bit map images, thereby being able not only to simplify the next and following operations of translation into the bit map images but also to facilitate the conversion of the plotting commands free from the detailed characteristics of the print engine, so that the efficiency of the whole print processing can be improved. Therefore, in the controller of the page printer, a module which interprets a plotting command and creates an intermediate code corresponding to the plotting command is clearly separate from a module which interprets the thus created intermediate code and creates a page of bit map images.
In recent years, the CPU power and memory capacity of a host computer have improved greatly and, as an inevitable consequence of this, the quantity of plotting commands to be supplied to a printer has also increased greatly. As a result, the CPU power and memory capacity of the printer have become insufficient to realize a desired print throughput. Also, there arises a problem that, because the printer is short of memory capacity, there occurs over-memory or irreversible compression so that perfect printing cannot be realized.
However, from the viewpoint of cost reduction, it is difficult to increase the power of the controller and hardware of the printer or to increase the number of memories thereof. Similar problems are found not only in the page printer but also in a system which uses a printer of another type such as a serial printer or the like.
In view of the above, it is an object of the invention to provide an improved print system which can improve the throughput of the whole system even without enhancing the throughput of a printer itself.
It is another object of the present invention to provide a printer in which image development can be started immediately after the start of sending the printing data to the printer.
In attaining the objects, according to the invention, there is provided a print system which includes a host computer and a printer connected with the host computer. In the present print system, the host computer includes a printer driver which is used to generate print job data including one or more plotting commands to be given to the printer, while the printer driver further includes intermediate level job data generating means used to generate intermediate level print job data including plotting commands at least part of which are expressed in the format of a first intermediate code. Also, the printer includes intermediate code conversion means which is used to receive intermediate level print job data and converts the plotting commands of the intermediate level job data into a second intermediate code, and third conversion means which is used to convert the second intermediate code into bit image data for printing.
According to the present print system, in the host computer, part or all of the plotting commands are converted to the intermediate code format before being transmitted to the printer. Therefore, in the printer, there can be omitted a processing which converts the plotting commands written in a high-level language to the intermediate code. In this manner, according to the invention, since the intermediate code generation processing, which has been conventionally performed only in the printer, can be shared by the host computer, especially when the memory or CPU of the host computer has capabilities to spare, and the printing speed of the printer can be enhanced.
The printer driver further may include high-level job data generation means used to generate high-level print job data in which the plotting commands thereof are all expressed in a high-level printer control language, and mode select means used to select one of the intermediate level job data generation means and the high-level job data generation means. In this case, the printer further may include graphics means which is used to convert the plotting commands expressed in the high-level printer control language to the second intermediate code.
In this structure, two operation modes can be used selectively on a case-by-case basis: that is, an operation mode in which all the plotting commands with respect to the printer are expressed in the high-level printer control language as in the prior art; and, an operation mode in which the plotting commands are in part or wholly converted to the intermediate code. In this case, it is preferable that selection of one of the two operation modes can be decided automatically. In a preferred embodiment of the invention, the operation mode can be selected automatically by synthetically considering the kinds of application programs, the capabilities of the printer, and the capabilities of the host computer.
Also, when selecting the operation mode automatically, the operation mode may be decided according to a print job unit; or, a page unit, a band unit, or a plotting command unit; or, an application program unit.
The print job data can also be formed such that it includes specification information for specifying which plotting commands are converted to the intermediate code. For example, when all the plotting commands are converted to the intermediate codes, the print job data can declare in the head portion thereof to the effect that all the plotting commands are converted to the intermediate codes. Also, when only the specific pages, specific bands, or specific commands are converted to the intermediate codes, the declaration to this effect can be set in the head of the specific pages, bands or commands. Such declaration, that is, such specification information, can be described in the printer control language.
From the viewpoint of relieving the processing burden of the printer, it is preferred that the first intermediate code to be generated by the printer driver and the second intermediate code to be generated by the printer be in the same format. However, there is a possibility that, since the roles of the two intermediate codes are different from each other, they can be different in the details thereof. For example, the first intermediate code must include bit image data on the individual characters to be plotted and on the individual images to be plotted. On the other hand, in an ordinary printer, such bit image data is managed at a different storage location from the intermediate code and, therefore, the second intermediate code does not include such bit image data.
According to another aspect of the invention, there is provided with a printer of the present invention comprises: band end detecting means for detecting an end of each band by a received intermediate code; image developing means for developing an image of each band in accordance with the intermediate code, which has already been received, in response to the detection of the end of each band; and a printing engine for conducting printing in accordance with the developed image. According to this printer, an end of each band is detected by the received intermediate code, and when the end of the band is detected, image development of the band is started. Consequently, when the sending of printing data of the type of the intermediate code is started, the intermediate code of the first one band is registered in the printer. At this time, image development is started.
It is possible for the printer to conduct image development by a band which is smaller than the band of the intermediate code made by the printer driver. In this case, it is preferable that a size of the band of the intermediate code made by the printer driver is given by integral multiples of the size of the band, the image development of which is conducted by the printer.
The printer driver of the present invention divides each page of a document to be printed into a plurality of bands, generates an intermediate code of each band and adds information expressing an end of each band to the generated intermediate code. When the above printer driver is used, the printer receives an intermediate code containing an end information of each band. Therefore, it is possible to recognize the end of each band. For the above reasons, it is possible for the printer to start a band image development at a stage in which the intermediate code of the first one band has been received.
The printing system of the present invention is provided with the above printer driver and the printer.
Typically, the printer of the present invention is executed when a microcomputer provided in the printer is programmed so that the above function can be exhibited. It is possible to execute the printer driver of the present invention when the host computer capable of communicating with the printer is programmed so that the above function of the printer driver can be exhibited. The necessary program can be installed or loaded into an objective computer via various mediums such as a semiconductor memory, disk type storage and communicating line.
The intermediate code having the above specific structure, which is generated by the printer driver of the present invention, can be supplied to the printer via various mediums such as a semiconductor memory, disk type storage and communicating line. When the intermediate code is supplied to the printer, the printer can start printing at a time which is only a little delayed from the start of supply.